package com.syni.mdd.yhd.common.all.service;

import com.syni.mdd.yhd.common.all.dao.jpa.BmsDxGroupChatDao;
import com.syni.mdd.yhd.common.all.dto.requestDto.groupChart.ChatAnnounReDto;
import com.syni.mdd.yhd.common.all.dto.requestDto.groupChart.GroupChatReDto;
import com.syni.mdd.sjb.common.component.utils.common.utils.ParamsMap;

import java.util.Map;

/**
 * @className
 * @description TOO
 * @Author cfx
 * @DATE 2019/4/9 12:04
 * @VERSION 1.0
 **/
public interface BmsDxGroupChatService {
    BmsDxGroupChatDao getBaseDao();

    Map<String, Object> create(GroupChatReDto groupChatReDto) throws Exception;

    Map<String, Object> update(GroupChatReDto groupChatReDto);

    Map<String, Object> createAnnoun(ChatAnnounReDto chatAnnounReDto);

    Map<String, Object> findAnnounDetail(ChatAnnounReDto chatAnnounReDto);

    Map<String, Object> findAnnounList(ChatAnnounReDto chatAnnounReDto);

    Map<String, Object> deleteAnnoun(ChatAnnounReDto chatAnnounReDto);

    Map<String, Object> getBusinessGroupChat(GroupChatReDto groupChatReDto);

    Map<String, Object> checkIsUpdateGroupName(GroupChatReDto groupChatReDto);

    Map<String, Object> getBusinessGroupMembers(GroupChatReDto groupChatReDto);

    Map<String, Object> userGetGroupMembers(GroupChatReDto groupChatReDto);

    Map<String, Object> shareToGroupChat(ParamsMap paramsMap);

    Map<String, Object> userJoinGroup(GroupChatReDto groupChatReDto);

    Map<String, Object> userBackGroup(GroupChatReDto groupChatReDto);

    Map<String, Object> testSendGroupChat(ParamsMap paramsMap);

    Map<String, Object> getGroupData(GroupChatReDto groupChatReDto);

    Map<String, Object> userGetMyGroup(GroupChatReDto groupChatReDto);

    Map<String, Object> userGetGroupData(GroupChatReDto groupChatReDto);

    Map<String, Object> groupAnnounPro(GroupChatReDto groupChatReDto);

    Map<String, Object> userGetAnnounList(ChatAnnounReDto chatAnnounReDto);

    Map<String, Object> startRemind(GroupChatReDto groupChatReDto);

    Map<String, Object> banned(ParamsMap paramsMap);

    Map<String, Object> userGetQualityGroup(ParamsMap paramsMap);

    Map<String, Object> updateMyNameInGroup(ParamsMap paramsMap);

    Map<String, Object> isTopChat(ParamsMap paramsMap);

    Map<String, Object> removeGroupMember(ParamsMap paramsMap);
}
